package com.smartalarmclock.Model;

import java.util.Set;

import android.content.Context;

public interface IProfile extends IRulesItem {
	
	/**
	 * @return the name of the profile
	 */
	public String GetName();
	
	/**
	 * Sets the name of the profile
	 * @param name the new name
	 */
	public void SetName(String name);
	
	/**
	 * @return whether the profile is active or not
	 */
	public boolean IsActive();
	
	/**
	 * Sets the active state
	 * @param isActive the new active state
	 */
	public void SetActive(boolean isActive);
	
	/**
	 * @return the auto response for non matching contacts
	 */
	public IAutoResponse GetNonMatchingAutoResponse();
	
	/**
	 * @param context the context of the request
	 * @return a set of the profile's contact list
	 */
	public Set<IContact> GetContacts(Context context);
	
	/**
	 * Adds a contact to the profile
	 * @param context the context of the request
	 * @param contact the contact to add
	 */
	public void AddContact(Context context, IContact contact);
	
	/**
	 * Removes a contact from the profile
	 * @param context the context of the request
	 * @param contact the contact to remove
	 */
	public void RemoveContact(Context context, IContact contact);
}
